In a touch screen device like a smart phone or a tablet computer, a virtual keyboard may be used to input information. For example, on a phone having a touch screen the virtual keyboard may be used to send text messages. When a user is texting, the user may also want to view the content in the text application while typing. Unfortunately, conventional systems may consume so much display space when providing the virtual keyboard that the space left over to display the content of the application may be limited.
One conventional approach provided a user with a tool to resize the virtual keyboard to make it smaller. However, making the keyboard smaller may compromise the typing experience. For example, it may be very difficult, if even possible at all, to see the smaller keys or to type on a smaller keyboard. This may be most noticeable for users with less than perfect vision or with large fingers. Another conventional approach involved compressing a conventional QWERTY keyboard down into a one-row keyboard. The one-row keyboard was then displayed at the bottom of the device. Once again, the typing experience was negatively impacted because less than all the keys were available. Another conventional approach made the virtual keyboard appear or disappear based on heuristics associated with whether the user was touching the screen, whether the user had typed in a while, whether the user had moved their digit(s) (e.g., finger(s), thumb(s)) onto or off of the virtual keyboard, or other actions. However, removing the keyboard may have required cumbersome actions to redisplay the keyboard, which once again may have negatively impacted the typing experience. Another conventional approach may have included dismissing (e.g., removing) the keyboard in response to touching, for example, a “back” capacitive button. Unfortunately, once the keyboard was dismissed there may not have been a convenient way to retrieve the keyboard without tapping on another user interface element (e.g., edit/compose field). Complicating matters even further, if the user happened to scroll their content after the keyboard was dismissed, then the user may have been forced to navigate back to a particular user interface element (e.g., edit/compose field) to retrieve the keyboard. Thus, conventionally, it has been difficult, if even possible at all, to seamlessly save screen space while not compromising the typing experience.
Touch sensitive screens have, in some apparatus, been replaced by hover-sensitive screens that rely on proximity detectors. Conventional hover-sensitive screens displayed user interface elements based on where an object was located in the hover-space. This may have unnecessarily constrained the flexibility of presenting, activating, or deactivating user interface elements.